﻿using System;

namespace Mono.Cecil.Cil
{
	// Token: 0x0200013E RID: 318
	public sealed class ConstantDebugInformation : DebugInformation
	{
		// Token: 0x17000317 RID: 791
		// (get) Token: 0x06000BDF RID: 3039 RVA: 0x000350F8 File Offset: 0x000332F8
		// (set) Token: 0x06000BE0 RID: 3040 RVA: 0x00006388 File Offset: 0x00004588
		public string Name
		{
			get
			{
				return this.name;
			}
			set
			{
				this.name = value;
			}
		}

		// Token: 0x17000318 RID: 792
		// (get) Token: 0x06000BE1 RID: 3041 RVA: 0x00035110 File Offset: 0x00033310
		// (set) Token: 0x06000BE2 RID: 3042 RVA: 0x00006392 File Offset: 0x00004592
		public TypeReference ConstantType
		{
			get
			{
				return this.constant_type;
			}
			set
			{
				this.constant_type = value;
			}
		}

		// Token: 0x17000319 RID: 793
		// (get) Token: 0x06000BE3 RID: 3043 RVA: 0x00035128 File Offset: 0x00033328
		// (set) Token: 0x06000BE4 RID: 3044 RVA: 0x0000639C File Offset: 0x0000459C
		public object Value
		{
			get
			{
				return this.value;
			}
			set
			{
				this.value = value;
			}
		}

		// Token: 0x06000BE5 RID: 3045 RVA: 0x00035140 File Offset: 0x00033340
		public ConstantDebugInformation(string name, TypeReference constant_type, object value)
		{
			bool flag = name == null;
			if (flag)
			{
				throw new ArgumentNullException("name");
			}
			this.name = name;
			this.constant_type = constant_type;
			this.value = value;
			this.token = new MetadataToken(TokenType.LocalConstant);
		}

		// Token: 0x0400074D RID: 1869
		private string name;

		// Token: 0x0400074E RID: 1870
		private TypeReference constant_type;

		// Token: 0x0400074F RID: 1871
		private object value;
	}
}
